home *** CD-ROM | disk | FTP | other *** search
- Received: from jumbo.apple.com by alink-gw.apple.com with SMTP (921113.SGI.UNSUPPORTED_PROTOTYPE/28-May-1993-eef)
- id AA00193; Mon, 21 Jun 93 23:53:37 -0700
- for ug0116
- Received: from guardian.apple.com by jumbo.apple.com with SMTP (5.64/26-Oct-1992-eef)
- id AA11781; Mon, 21 Jun 93 23:53:17 PDT
- for UG0116@AppleLink.apple.com
- Received: from star.cs.vu.nl by guardian.apple.com with SMTP (5.65/7-Aug-1992-eef)
- id AA02308; Mon, 21 Jun 93 23:52:32 -0700
- for UG0116@applelink.apple.com
- Received: from balaena.bio.vu.nl by star.cs.vu.nl id aa23133;
- 22 Jun 93 8:52 MET DST
- Received: by balaena.bio.vu.nl (4.1/SMI-4.1)
- id AA21565; Tue, 22 Jun 93 08:52:24 +0200
- From: "Rene G.A. Ros" <rgaros@bio.vu.nl>
- Message-Id: <9306220652.AA21565@balaena.bio.vu.nl>
- Subject: Suppl. Gestalt Selectors List 1.6
- To: UG0116@applelink.apple.com
- Date: Tue, 22 Jun 93 8:52:23 MET DST
- X-Mailer: ELM [version 2.3 PL11]
-
-
-
- Supplemental Gestalt Selectors List 1.6
- =======================================
-
- First published: 20 October 1992
- Last modified : 14 June 1993, 14:25 CET (GMT+2, DST)
-
- Supplemental to the selector codes listed in the Gestalt Chapter of
- Inside Macintosh VI (IM VI), that is.
- These can include selector codes installed by Apple (system)
- software or by software from third parties (your software?).
-
- NIM Operating System Utilities has been delayed from Winter 1992 to
- June 1993, according to Addison-Wesley Holland. Well, that was back
- in January, now it is scheduled for October.
-
- This file can be best viewed with a mono-spaced font like Monaco.
-
- I don't have all the documentation or knowledge and I don't want to,
- and I'am certainly not Mr.Gestalt.
- I would like to see this list to become a combined effort by different
- persons who have together access to a wide area of information.
- This list may contain (educated) guesses and perhaps even false
- information, so no guarantee is made about the contents.
- You may use this information freely (see Legal Stuff chapter), but
- when you find information not included in IM VI or in this list;
- please mail it me.
- If you have additions, corrections, comments, suggestions, news about
- available software, etc., please mail me. Please, also mention the
- source you used.
- For ways to contact me, see my address at the end of this list. If you
- want to remain anonymous, please mention this and it will be taken
- care of.
-
- This list is originally distributed in the following ways:
- USENET newsgroup comp.sys.mac.programmer (c.s.m.p.)
- I will post every new version of the list to c.s.m.p., but the last
- version will be reposted about once a month.
-
- FTP-site
- sumex-aim.stanford.edu [36.44.0.6]
- Every major or minor version is submitted to the info-mac archives at
- sumex-aim.stanford.edu. (/info-mac/dev/info/gestalt-selectors-XX.txt)
- It is also available on its mirror sites (e.g. in Europe: lth.se).
-
- FINGER
- You can also read this list by using finger to 'rgaros@bio.vu.nl'.
- Tip: 'finger rgaros@bio.vu.nl | more' or
- 'finger rgaros@bio.vu.nl > filename'
- My .plan file which you see when you do this, may be more up-to-date
- and may include small corrections, or contains a preliminary version
- of the next version to be published.
-
- MAILING LIST
- Every person on this mailing list gets automatically an update by email
- whenever there are some changes. If you want to join this mailing list
- you need to send me an email asking to be included. The same applies
- when you want to be removed from the list.
- This service is only possible to those who have an account on Internet
- or any other network reachable from Internet. I can not provide
- mailing of printed versions or on disk by normal surface mail.
-
-
- CONTENTS
- # Changes
- # Definitions and Format
- # Gestalt Selector Codes & Responses
- = Apple System Software
- = Apple Additional Software
- = Third Parties Software
- # Gestalt Selector Codes, Responses Unknown
- = Apple System Software
- = Apple Additional Software
- = Third Parties Software
- # Gestalt Manager Routines
- # Abbreviations
- # Format version numbers
- = 4-byte word
- = BCD
- = INTEGER
- # AppleShare File & Print Server selector codes
- # Glue code
- # Sources
- # Related Software
- # Acknowledgements
- # Legal Stuff
- = Notice of Liability
- = Trademarks
- = Distribution
- # Editor's Address
-
-
- ####Changes (since v1.5)
- Added selectors
- Apple System : os , vers
- Apple Add. : thds, ttsc
- Third Parties : !SYM, GWat, TMON
- Added unknown
- Apple System : cfmg, cput, fdrs, fnd , fnd?, FNDR, fnd*,
- gntz, hcsl, scsi, shal, sysa, udsk, udsv
- Apple Add. : 3615, futr, gFax, sndx, snhw, thng, thrd
- Third Parties : ADex, ADfd, ADii, ADr2, JXNM, QRef, Tmon
- Changed selectors
- Apple System : alis, hdwr, mach, mmu , term
- Apple Add. : arb , cpnt, strm, qtim
- Third Parties : ApoL, HPBG, NIPX, NMBT
- Changed unknown
- Apple System : bugy
- Apple Add. :
- Third Parties : SAVC, SAVR
- Previously unknown
- Apple System : dict, tsmv
- Apple Add. : cpkr, icmp
- Third Parties :
- Includes updates 1.5.1 thru 1.5.5 mailed to the persons on the
- mailing list.
-
- A contributor, who wants to remain anonymous, provided a list
- of selectors which are installed with System 7.1 running on a
- Macintosh prototype using the new PowerPC processor. Some info
- not appropriate in another place:
- fpu -> 0 (none), kbd -> 4 (Extended ADB), proc-> 3 (MC 68020)
- rom -> $00300000, romv-> 1917
- New things going on on the software front about Gestalt. I know of
- two new utilities coming. No schedule, so far.
- Scott Bronson is currently working on an extension called
- 'GestaltWatch' which tracks all calls to the NewGestalt and
- ReplaceGestalt traps. The alpha test is only able to log calls to
- NewGestalt and seems to work fine.
- B. Kevin Hardman is working (almost ready for public use, I think)
- on an application which merges the functions of the GestaltDA and
- Gestalt! application.
- It is called 'Gestaltzeigen' and it provides more info about the
- response and has a nice interface. ('zeigen' is German and means
- 'point out', 'show').
- None of these are available yet, if they become available (and I know
- about it), I will certainly mention it.
- Also several minor changes were made to parts of the text, including
- the Legal Stuff chapter.
-
- Person: Software: Selector(s):
- Anonymous System 7.1 on PowerPC bugy, cfmg, cput, gntz,
- mach, mmu , os , scsi,
- shal, sysa, udsk, udsv,
- vers
- Scott Bronson Finder 7.1.1b1 fdrs, fnd , fnd?, fnda,
- FNDR, fnd*, hcsl
- GestaltWatch ext GWat
- QuickRef ext QRef
- TMON Pro ext Tmon, TMON
- NowMenus ??? JXNM
- Lawrence D'Oliveiro Sound Manager 3.0 ext sndx, snhw
- Text-To-Speech Manager ttsc
- Michael Hecht Symbionts !SYM
- Duane Murphy MacIPX cp NIPX
- Marco Piovanelli ColorPicker ext cpkr
- Other selectors or information found by myself, or provided by
- software like GestaltDA, Gestalt!, GestaltWatch, Gestaltzeigen
- TattleTale or theMACS.
-
- ####Definitions and Format
- Webster's Dictionary (?):
- ge.stalt \g<e>-'s(h)t<a:>lt, -'s(h)t<o.>lt\ n, pl ge.stalt.en
- \-<\e>n\ or gestalts (1922)
- [G, lit., shape, form]
- :a structure, configuration, or pattern of physical,
- biological, or psychological phenomena so integrated as to
- constitute a functional unit with properties not derivable by
- summation of its parts.
- German-Dutch dictionary:
- Gestalt w [-en]
- stature, figure, form; Ritter von der traurigen -, knight of the
- sorrowful figure.
-
- Apple System Software
- Selectors installed by System Software.
- IM VI: "Apple reserves for its own use all four-character
- sequences consisting solely of lowercase letters and
- non alphabetic ASCII characters".
- Apple Additional Software
- Selectors installed by additional software by Apple Computer,Inc.
- See also quote above.
- Third Parties Software
- Selectors installed by software from parties other than
- Apple Computer, Inc.
- IM VI: "If you have registered a creator string with Apple, you
- are strongly encouraged to use that sequence as your
- selector code".
- These are included in this list with the motto "If you don't
- know they are there, you can't do anything with them".
-
- Format used to display information about the selector:
-
- | ****'selector code' (Software name & type [since version],
- | company/author)
- | constant name (description, documentation) OR description
- |
- | CONST declaration; {remark} *ref.number to source
-
- Diacritical characters are shown in the most logical normal
- character and at the end of the entry a note is included about which
- key-combination to press with normal International system and
- US keyboard layout to get the required diacritical character and
- it's ASCII code.
- If a selector code is installed by Apple software the entry also
- includes if it is in addition to or not listed in IM VI.
- When 'INF' is at the end of the first line it means it is an
- informational selector, all others are environmental selectors.
- The source reference number may also be used in other places than
- indicated above. It then applies to other parts of the entry.
- A single question marks indicates an uncertainty regarding that
- information. Three question marks indicate complete abcense of
- the information.
- Some constant-names may not originate from official publications.
-
-
- ####Gestalt Selector Codes & Responses
- ====Apple System Software
- ****'alis' (System [7.0])
- gestaltAliasMgrAttr (addition by Remote AppleTalk Aliases, part of
- AppleTalk Remote Access)
-
- gestaltAliasMgrSupportsRemoteAppletalk = 1;
- {supports Remote Appletalk} *9
- See also remarks with 'qtim' selector.
- ****'atkv' (System [7.0, AppleTalk 56])
- gestaltATalkVersion *4 (not listed)
- Returns AppleTalk version as a 4-byte word.
- This is different from 'atlk' !
- With the release of the System 7 Tuner product, AppleTalk will not
- be loaded at startup, if prior to the previous shutdown AppleTalk
- was turned off in the Chooser. Under this circumstance, the 'atkv'
- selector is not available. If the 'atkv' selector is not available
- under System 7, this is an indicator that AppleTalk cannot be
- turned on without doing so in the Chooser and rebooting the
- system. *4
-
- gestaltATalkVersion = 'atkv'; *3/5
- ****'atlk' (System [6.0.4])
- gestaltAppleTalkVersion (addition)
- Returns the version of the .MPP driver as INTEGER.
-
- LAPMgrExists := (AppleTalkVersion >= 53); *4
- ****'BSDa' (CloseView cp, by Berkeley Systems, Inc.)
- gestaltCloseViewAttr (not listed)
- Returns information about the CloseView Control Panel.
-
- gestaltCloseViewAttr = 'BSDa';
- gestaltCloseViewOn = 0;
- ****'cash' (System [???]) *10
- gestaltRAMCacheSize (not listed)
- Returns byte-size of physical RAM allocated to Disk Cache.
- 0 = Disk Cache Off
-
- gestaltRAMCacheSize = 'cash';
- NOTE: Is listed in THINK Reference 1.0 but it is unknown which
- System Software version should install it.
- ****'conn' (System [7.0], Communications Toolbox installed)
- gestaltConnMgrAttr (addition)
- Under System 6, this Gestalt selector isn't implemented when the
- Communications Toolbox is installed (Michael Hecht).
-
- gestaltConnMgrErrorString = 2; {has CMGetErrorString} *11
- gestaltConnMgrMultiAsyncIO = 3; {CMNewsIOPB,CMDisposeIOPB,
- CMPBRead,CMPBWrite,CMPBIOKill}*11
- ****'crm ' (System [7.0], Communications Toolbox Installed)
- gestaltCRMAttr (addition)
-
- gestaltCRMPersistentFix = 1; {fix for persistent tools} *11
- gestaltCRMToolRsrcCalls = 2; {has CRMGetToolResource/
- ReleaseToolResource} *11
- ****'ctbm' (System [7.0], Communications Toolbox installed)
- gestaltCTBManagersAttr (not listed)
- Returns information about the Communications Toolbox Managers, it
- is a bitmask of which managers are present.
-
- gestaltCTBManagersAttr = 'ctbm'; *7
- ****'ctbu' (System [7.0], Communications Toolbox installed)
- gestaltCTBUtilsAttr (not listed)
- Returns information about the Communications Toolbox Utilities
-
- gestaltCTBUtilsAttr = 'ctbu'; *7
- gestaltCTBUtilsPresent = 0; *7
- ****'ctbv' (System [7.0], Communications Toolbox Installed)
- This selector is also installed by the Communications Toolbox for
- System 6 (version 6.0.4 and higher).
- See for details IM VI.
- ****'dict' (System [7.1])
- gestaltDictionaryMgrAttr (not listed)
- Returns information about the Dictionary Manager.
-
- gestaltDictionaryMgrAttr = 'dict';
- gestaltDictionaryMgrPresent = 0;
- ****'easy' (Easy Access cp [7.0])
- gestaltEasyAccessAttr (addition)
-
- gestaltEasyAccessOn = 0; {??? is set when Sticky Keys is set}
- gestaltEasyAccessSlow = 13; {Slow Keys}
- gestaltEasyAccessSticky = 14; {Sticky Keys}
- gestaltEasyAccessMouse = 15; {Mouse Keys}
-
- NOTE: The 'easy' selector (with System 7.0.1) didn't return the
- reponse described in IM VI. The info above may be more
- accurate.
- ****'eajt' (Easy Access cp [7.0])
- gestaltEasyAccessJTable (not listed)
- Returns the base address of the Easy Access jump-trap table.
-
- gestaltEasyAccessJTable = 'eajt'; *3
- ****'edtn' (System [7.0])
- gestaltEditionMgrAttr (addition by Easy Open)
-
- gestaltEditionMgrTranslationAware = 1; *12
- ****'flag' (Network Extension ext [System 7.0 *4])
- gestaltFlagshipAttr (not listed)
- Returns information about the Flagship.
-
- gestaltFlagshipAttr = 'flag'; *3
- gestaltFlagshipPresent = 0; *3
- gestaltFlagshipRegistered = 1; *3
- ****'fpu ' (System [6.0.4])
- gestaltFPUType (addition)
-
- gestalt68040FPU = 3; *2
- ****'fs ' (System)
- gestaltFSAttr (addition)
-
- gestaltHasFileSystemManager = 2; *2
- ****'font' (System [7.0])
- gestaltFontMgrAttr (addition)
-
- additional System 7.1 responses exist (bit 1 and 2) but unknown
- (Fonts Folder?).
- ****'fxfr' (System [7.0])
- gestaltFXfrMgrAttr (additions)
-
- gestaltFXfrMgrMultiFile = 1; {supports FTSend and FTReceive} *11
- gestaltFXfrMgrErrorString = 2; {supports FTGetErrorString} *7/11
- ****'gval' (GestaltValue Glue code)
- gestaltValueTable?
- The first time you call NewGestaltValue, the library installs two
- non-relocatable blocks in the system heap and the gestalt
- selector. One of the blocks is filled with code: it's actually a
- gestalt function that implements GestaltValue's shared mechanism.
- The second block contains the selectors and values GestaltValue
- manages. The response returned by the 'gval' selector is a pointer
- to the second non-relocatable block in the system heap.
- (Marco Piovanelli)
- ****'hdwr' (System [6.0.4])
- gestaltHardwareAttr (additions)
-
- gestaltHasRBV = 2; {RBV} *3
- gestaltHasOSS = 5; {OSS} *3
- gestaltHasSCSIDMA = 6; {53C80 SCSI DMA} *3
- gestaltHasSWIMIOP = 8; {SWIM IOP} *3
- gestaltHasSCCIOP = 9; {SCC IOP} *3
- gestaltHasFitch = 10; {Fitch memory Controller} *8
- gestaltHasIWM = 11; {IWM} *3
- gestaltHasPWM = 12; {PWM disk speed buffer} *8
- gestaltHasRAMSndBuff = 13; {RAM-based sound buffer} *8
- gestaltHasVideoDAConv = 14; {Video D/A Converter} *8
- gestaltHasPGC = 15; {PGC (parity control)} *8
- gestaltHasSoftPowerOff = 19; {Software PowerOff (since 7.0?)} *2
- gestaltHasSonic = 20; {Sonic} *3
- gestaltHasSCSI961 = 21; {Int. 53C96 SCSI} *1
- gestaltHasSCSI962 = 22; {Ext. 53C96 SCSI} *1
- gestaltHasDAFBVideo = 23; {DAFB Video} *3
- gestaltHasUniversalROM = 24; {Universal ROM}
- See for more information the TN "M.OV.GestaltSysenvirons".
- ****'kbd ' (System [6.0.4])
- gestaltKeyboardType (additions)
-
- gestaltPwrBookADBKbd = 12; {PowerBook ADB Keyboard} *1
- gestaltPwrBookISOADBKbd = 13; {PowerBook ISO ADB Keyboard} *1
-
- NOTE: The Apple Adjustable Keyboard doesn't have it's own keyboard
- type. It changes a low memory global but this doesn't change
- the Gestalt response. Because of this programs which follow
- Apple's rules to determine the keyboard type by using the
- Gestalt Mgr may not function properly. (BTW The low memory
- global KbdType ($0x21e) is set to $0x10, decimal 16).
- There is an extension available which replaces the kbd GDEF
- to return a response of 4 (Extended ADB Keyboard) to
- overcome this. (Info from Lonnie R. Abelbeck)
- Available on sumex-aim.stanford.edu as
- /info-mac/cfg/adj-keyboard-fix.hqx ?
- ****'mach' (System [6.0.4]) INF
- gestaltMachineType (additions)
-
- gestaltQuadra900 = 20; {Macintosh Quadra 900} *1
- gestaltPowerBook170 = 21; {Macintosh PowerBook 170} *1
- gestaltQuadra700 = 22; {Macintosh Quadra 700} *1
- gestaltClassicII = 23; {Macintosh Classic II} *1
- gestaltPowerBook100 = 24; {Macintosh PowerBook 100} *1
- gestaltPowerBook140 = 25; {Macintosh PowerBook 140} *1
- gestaltQuadra950 = 26; {Macintosh Quadra 950} *1
- gestaltMacLCIII = 27; {Macintosh LC III}
- gestaltPowerBook210 = 29; {Macintosh PowerBook 210}
- gestaltMacCentris650 = 30; {Macintosh Centris 650}
- gestaltPowerBook230 = 32; {Macintosh PowerBook 230}
- gestaltPowerBook180 = 33; {Macintosh PowerBook 180}
- gestaltPowerBook160 = 34; {Macintosh PowerBook 160}
- gestaltMacQuadra800 = 35; {Macintosh Quadra 800}
- gestaltMacLCII = 37; {Macintosh LC II}
- gestaltMacIIvi = 44; {Macintosh IIvi}
- gestaltPerforma600 = 45; {Macintosh Performa 600}
- gestaltMacIIvx = 48; {Macintosh IIvx}
- gestaltMacColorClassic = 49; {Macintosh Color Classic}
- gestaltPowerBook165c = 50; {Macintosh PowerBook 165c}
- gestaltMacCentris610 = 52; {Macintosh Centris 610}
- gestaltPowerBook145 = 54; {Macintosh PowerBook 145}
-
- Exceptions with systems prior to System 7.1:
- gestaltMacLCII = 19; {Macintosh LC & LC II}
- gestaltPowerBook145 = 25; {Macintosh PowerBook 140 & 145}
-
- Still unknown:
- gestaltPowerBook145B = ??; {Macintosh PowerBook 145B}
- gestaltPowerBook180C = ??; {Macintosh PowerBook 180C}
- gestalt??? = 75; {PowerPC prototype}
-
- Equivalents:
- Performa 200 gestaltClassicII
- Performa 400 gestaltMacLCII ?
- Performa 405 gestaltMacLCII ?
- Performa 430 gestaltMacLCII ?
- Performa 450 gestaltMacLCIII ?
- Performa 600 gestaltMacIIvx ?
- Workgroup Server 60 gestaltMacCentris610
- Workgroup Server 80 gestaltMacQuadra800
- Workgroup Server 95 gestaltQuadra950
- (Source: MacFacts Two by J.D.S. Babcock)
-
- NOTE: The Developer Notes (available on ftp.apple.com and on the
- Developer CD-ROM Series) about Macintosh models provide
- in several cases wrong or incomplete information regarding
- the machine type returned by the Gestalt Manager.
- ****'misc' (System [6.0.5])
- gestaltMiscAttr (addition)
-
- gestaltBootGlobals = 1; {Boot Globals} *8
- ****'mmu ' (System [6.0.4])
- gestaltMMUType (addition)
-
- gestalt68040MMU = 4; {68040/68LC040 built-in} *2
- gestalt??? = 5; {PowerPC prototype MMU}
- ****'os ' (System [6.0.4, 7.0 and higher])
- gestaltOSAttr (addition)
-
- NOTE: The PowerPC prototype also sets bit 9.
- ****'osyv' (sysvINIT by T. Tanaka, Apple Computer Japan Inc.) INF
- Because of a bug with KanjiTalk 6.0.7 this extension (snippet
- code, available on Developer CD-ROM Series) replaces the standard
- 'sysv' Gestalt Definition (GDEF) with a corrected one to return
- $0x0607 and installs the 'osyv' selector which uses the replaced
- GDEF. *13
- ****'ppc ' (System [7.0])
- gestaltPPCToolboxAttr (addition)
- The first thing that is confusing is that, unlike other selectors
- returning attributes, the responses are not bit values, but bit
- masks. This means you simply AND the value with the response to
- test the bit.
- The second thing that is confusing is how to interpret
- gestaltPPCToolboxPresent = 0x0000.
- What this means is that if the PPC toolbox is present, but has not
- been initialised (by calling PPCInit), then gestaltPPCToolboxAttr
- returns 0x0000. In reality, PPCInit gets called by the Process
- Manager before any applications get launched, so no applications
- will actually see this response. (Dave Radcliff)
-
- gestaltPPCToolboxAttr = 'ppc ';
- gestaltPPCToolboxPresent = 0x0000, {Requires PPCInit to be called}
- gestaltPPCSupportsIncoming = 0x0001; {Deny incoming net requests}
- gestaltPPCSupportsOutGoing = 0x0002; {Deny outgoing net requests}
- gestaltPPCSupportsRealTime = 0x1000; {Supports real-time delivery}
- ****'proc' (System [6.0.4])
- gestaltProcessorType (addition)
-
- gestalt68040 = 5; *2
- NOTE: The 68LC040 responds as type gestalt68040 but doesn't has a
- FPU. The user can swap out the 68LC040 and put in a real
- 68040 with FPU, so just checking the machineType or the
- processorType isn't enough. (Dave Radcliff)
- ****'qdrw' (System [7.0])
- gestaltQuickDrawFeaturesAttr (not listed)
- There is a bug in the 'qdrw' selector that causes it to report
- that Color QuickDraw is always present, even on machines that
- don't support it.
- Apple has acknowledged this bug on AppleLink. (Chris Wysocki)
- Use SysEnvirons instead or try this:
- long qdVersion = 0;
- gHasColorQuickDraw = (Gestalt(gestaltQuickdrawVersion,&qdVersion)
- == noErr) && (qdVersion >= gestalt8BitQD);
-
- gestaltQuickDrawFeaturesAttr = 'qdrw'; *2
- gestaltHasColor = 0; *2
- gestaltHasDeepGWorlds = 1; *2
- gestaltHasDirectPixMaps = 2; *2
- gestaltHasGrayishTextOr = 3; *2
- ****'rsrc' (System [should work since 7.0?])
- gestaltResourceMgrAttr (addition)
- Under System 7, bit 0 that tells if you have partial resource
- support doesn't work right. This selector is undefined under
- System 7.0 and 7.0.1 even though the partial resource calls are
- available. (Michael Hecht, Quinn)
-
- additional response exist but unknown (bit 1).
- ****'sccr' (System [6.0.4, discontinued])
- gestaltSCCReadPortsAddr (not listed)
- Returns the address of SCC read ports.
-
- gestaltSCCReadPortsAddr = 'sccr';
- ****'sccw' (System [6.0.4, discontinued])
- gestaltSCCWritePortsAddr (not listed)
- Returns the address of SCC write ports.
-
- gestaltSCCWritePortsAddr = 'sccw';
- ****'snd ' (System [6.0.4])
- gestaltSoundAttr (addition)
-
- gestaltSoundReserved = 2;
- ****'stdf' (System [7.0])
- gestaltStandardFileAttr (addition by Easy Open)
-
- gestaltStandardFileTranslationAware = 1; *12
- gestaltStandardFileColorIcons = 2; *12
- ****'sysv' (System [6.0.4]) INF
- gestaltSystemVersion (listed in IM VI; question)
- Returns the version number of currently active System file in BCD.
- Is it correct system 6.0.8 returns 0x0607? Can you determine if it
- is actually 6.0.8 in another way?
- The hard way to change the result value is to change the PTCH
- resource with ID# 0 in the System file. Change the word 0x0007
- at offset 0x00ED to 0x0008.
-
- System Resource Offset Data
- Version Type ID#
- 6.0.4 PTCH 0 0x005E 0604
- 6.0.8 PTCH 0 0x00EC 0607
- 7.0 PTCH 0 0x056E 0700
- 7.0.1 PTCH 0 0x0578 0701
- 7.1 PTCH 0 0x057C 0710
-
- In addition KanjiTalk 6.0.7 (Japanese System) has a bug with this
- selector. See the 'osyv' selector.
- NOTE: There is a International System 7.0.1.1 which just
- returns 7.0.1.
- ****'tabl' (System [6.0.4])
- gestaltSelectorTable (not listed)
- Returns a handle to the Gestalt selector table itself.
- The Gestalt selector table is kept in a resizable block in the
- system heap. The last item in the table is a dummy entry
- (INVALID), marked by a selector OSType(MaxLongInt). (Marco
- Piovanelli, he has also some snippet Pascal code to list all
- selectors)
-
- gestaltSelectorTable = 'tabl';
- ****'term' (System [7.1])
- gestaltTermMgrAttr (addition)
-
- gestaltTermMgrErrorString = 1; *7
- NOTE: With System 7.1 bit 2 is set also. Meaning unknown.
- ****'tsmv' (System [7.1])
- gestaltTextServicesMgrVersion (not listed)
- Returns Text Services Manager version in BCD.
-
- gestaltTextServicesMgrVersion = 'tsmv';
- ****'vers' (System [6.0.4])
- gestaltVersion (addition)
-
- The PowerPC prototype uses Gestalt Mgr version 4.
- ****'via1' (System [6.0.4, discontinued])
- gestaltVIA1Addr (not listed)
- Returns the address of VIA 1.
-
- gestaltVIA1Addr = 'via1';
- ****'via2' (System [6.0.4, discontinued])
- gestaltVIA2Addr (not listed)
- Returns the address of VIA 2.
-
- gestaltVIA2Addr = 'via1';
- ****'vmbs' (System, VM on [7.0])
- gestaltVMBackingStoreRef (not listed)
- Returns the ioRefNum of the Virtual Memory storage file.
-
- gestaltVMBackingStoreRef = 'vmbs';
- ****'wma.' (System [7.0])
- gestaltResponderAttr (Workstation Management Agent aka Responder,
- not listed)
-
- gestaltResponderAttr = 'wma.';
- gestaltResponderPresent = 0;
- ****'xttt' (System [6.0.8])
- gestaltExtToolboxTable (not listed)
- Returns the base address of the Extended Toolbox trap table.
-
- gestaltExtToolboxTable = 'xttt';
-
-
- ====Apple Additional Software
- ****'admn' (AppleShare Admin appl [3.0])
- gestaltASAdminAttr
-
- gestaltASAdminAttr = 'admn';
- gestaltASAdminPresent = 0;
- ****'arb ' (Serial Port Arbitrator ext [1.0],
- part of AppleTalk Remote Access)
- gestaltArbitorAttr (Serial Port Arbitration) *9
-
- gestaltArbitorAttr = 'arb ';
- gestaltSerialArbitrationExists = 0;
- {Serial Port Arbitration installed}
- ****'asps' (AppleShare Print Server appl [3.0])
- gestaltASPrintServerAttr
-
- gestaltASPrintServerAttr = 'asps';
- gestaltASPrintServerPresent = 0;
- ****'aucd' (Audio CD Access ext [4.0], part of Apple CD-ROM Software)
- gestaltAudioCDAccessVersion
- Returns Audio CD Access version in BCD.
- Except version 4.0.1 of the CD-ROM Software which returns 0x0400.
-
- gestaltAudioCDAccessVersion = 'aucd';
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- ****'cmtc' (ColorSync ext [?])
- gestaltColorMatchingVersion
- According to the documentation, the value returned by this
- selector is 0x100 if ColorSync is installed under System 6.0.7, or
- 0x110 if ColorSync is installed under System 7.
- (Lawrence D'Oliveiro)
- ****'cpkr' (Color Picker ext [2.0?], part of ColorSync Software)
- gestaltColorPickerMgrAttr
- Returns information about the Color Picker Manager.
-
- gestaltColorPickerMgrPresent? = 0?; (ColorPicker Mgr Present}
- (Marco Piovanelli, Lawrence D'Oliveiro)
- NOTE: extension version 2.0a4 returns a response (0x0001) which is
- according to the info above. Version 2.0a5 however returns
- 0x0100, is this an error?
- ****'cpnt' (QuickTime ext [1.0])
- (Color Picker Extension [2.0])
- gestaltComponentMgr (Component Manager)
- Returns Component Manager version as Integer.
-
- gestaltComponentMgr = 'cpnt'; *6
- ****'font' (TrueType INIT ext for System 6.x)
- This selector is also installed by the TrueType INIT.
- See for details IM VI.
- ****'hgfd' (AppleShare File Server appl [3.0])
- gestaltASFileServerAttr
-
- gestaltASFileServerAttr = 'hgfd';
- gestaltASFileServerPresent = 0;
- ****'hscd' (High Sierra File Access ext [4.0], part of Apple CD-ROM
- Software)
- gestaltHighSierraFAVersion
- Returns High Sierra File Access version in BCD.
- Except version 4.0.1 of the CD-ROM Software which returns 0x0400.
-
- gestaltHighSierraFAVersion = 'hscd';
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- ****'icmp' (QuickTime ext [1.0])
- gestaltCompressionMgr (ImageCompression Manager)
- Returns Compression Manager version as Integer
-
- gestaltCompressionMgr = 'icmp'; *6
- ****'mtcp' (MacTCP cp [1.1])
- gestaltMacTCPAttr
- 0x0000 is returned if MacTCP is present but no connection opened, *5
- 0x0001 is returned for MacTCP 1.1 and earlier when it is opened. *5
- 0x0002 is returned for MacTCP 1.1.1 when it is openened.
-
- gestaltMacTCPAttr = 'mtcp';
- ****'qtim' (QuickTime ext [1.0])
- gestaltQuickTime
- Returns QuickTime version as a 4-byte word.
- If you install QuickTime under System 6, a major portion of the
- Alias Manager and FSSpec support is also added. But, QT doesn't
- implement the Gestalt selectors because the implementation is not
- complete. You must check for either Alias Mgr or QuickTime.
- (Michael Hecht)
-
- gestaltQuickTime = 'qtim';
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- ****'scra' (Easy Open ext [1.0]) *12
- gestaltScrapMgrAttr
- Returns information about the Scrap Manager.
-
- gestaltScrapMgrAttr = 'scra';
- gestaltScrapMgrTranslationAware = 0;
- ****'strm' (Remote Access Aliases [1.0], part of AppleTalk Remote Access)
- gestaltRemoteAccessAttr *9
-
- gestaltRemoteAccessAttr = 'strm';
- gestaltRemoteAccessExists = 0;
- {RA Connection Interface is available)
- ****'thds' (Thread Manager ext [1.1]) *15
- (QuickDraw GX ext [1.0?])
- gestaltThreadMgrAttr
- Returns information about the Thread Manager.
-
- gestaltThreadMgrAttr = 'thds'; {Thread Manager attributes}
- gestaltThreadMgrPresent = 0; {bit true if Threads present}
- ****'ttsc' (Text-To-Speech Manager ext [1.0?])
- gestaltSpeechAttr
- Returns information about the Speech Manager.
-
- gestaltSpeechAttr = 'ttsc'; {Text-To-Speech Manager attributes}
- gestaltSpeechMgrPresent = 0; {bit true if Speech Mgr present}
- ****'ufox' (Foreign File Access ext [4.0], part of Apple CD-ROM Software)
- gestaltForeignFAVersion
- Returns Foreign File Access version in BCD.
- Except version 4.0.1 of the CD-ROM Software which returns 0x0400.
-
- gestaltForeignFAVersion = 'ufox';
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- ****'xlat' (Easy Open ext [1.0]) *12
- gestaltTranslationAttr
- Returns information about the Translation Manager.
-
- gestaltTranslationAttr = 'xlat';
- gestaltTranslationMgrExists = 0; {Translation Manager present}
-
- ====Third Parties Software
- ****'!SYM' (Symbionts ext [1.0] by B. Kevin Hardman)
- gestaltSymbiontsTable
- Returns a pointer to a structure containing the size of the System
- Heap before and after loading the INITs.
-
- gestaltSymbionts = '!SYM';
- NOTE: In development, not yet available.
- ****'ApoL' (Apollo ext [1.0] by Jeremy Roussak)
- gestaltApolloTable
- Returns a handle to an instance of a structure.
- See for more information the Programmers' Information chapter in
- the Apollo 1.0 documentation. (Jeremy Roussak)
-
- gestaltApolloTable = 'ApoL';
- ****'BIFF' (QM Biff ext [1.0] by Patrick C. Beard)
- Determines if there is mail (QuickMail). The response long word is
- 1 if you have mail, and 0 if you don't.
- ****'CKI3' (AETracker cp [3.0] by C.K. Haun)
- gestaltAETrackerAddr
- This selector returns a pointer to the external interface routine
- for AETracker, details of which are in the AETracker interface
- guide. (C.K. Haun)
-
- gestaltAETrackerAddr = 'CKI3';
- ****'Gast' (Gestalt! appl [2.9.2] by Roland Mansson)
- gestaltGestaltVersion
- Returns the version of the application as a 4-byte word.
- GestaltValue is removed when application quits. Just for fun.
- (Roland Mansson)
-
- NOTE: The a is actually the option-u/a character (ASCII 138).
- ****'GTLK' (GestaltTalk code by Brigham Stevens, Apple Computer DTS)
- Snippet code, see documentation. (See chapter 'Related Software'
- for availability).
- ****'GWat' (GestaltWatch ext [1.0] by Scot Bronson)
- Returns pointer to structure where collected information is stored.
- NOTE: In development, not yet available.
- ****'NIPX' (Novell MacIPX [1.0.1] cp by Novell Inc.)
- gestaltNovellIPXVersion
- Returns the version of MacIPX as a 4-byte word.
- If the selector returns an error (ie no such selector?) then
- MacIPX is not installed. If the selector returns 0L then MacIPX is
- installed but the driver is not open.
- Any other values are 4-byte word version numbers. (Duane Murphy)
-
- gestaltNovellIPXVersion = 'NIPX';
- ****'NMBT' (Attention cp [0.6] by Marco Piovanelli)
- gestaltAttentionAddr
- The response value returned is a pointer to a read-only parameter
- block in the system heap.
- See for more detailed information the ReadMe file which accompanies
- version 1.0.x.
- ****'PWRS' (PwrSwitcher cp [1.0] by David B. Lamkins)
- gestaltPwrSwitcherTable
- Returns a pointer to a private structure (undocumented).
- ****'SLip' (StuffIt SpaceSaver ext by Aladdin Systems, Inc.)
- gestaltStuffItSpaceSaverAddr
- Returns the address of the SpaceSaver "command module" which
- allows developers to access all the functions of SpaceSaver.
- (Leonard Rosenthol)
-
- gestaltStuffItSpaceSaverAddr = 'SLip';
- ****'TMON' (TMON Pro cp? [3.0] by ICOM Simulations)
- The value returned is a pointer to a Monitor information block. *14
- (Scott Bronson)
-
-
- ####Gestalt Selector Codes, Responses Unknown
- ====Apple System Software
- ****'bast' (System [7.1P])
- ****'batt' (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 201 [1.0])
- Powerbook 165c: $00000006
- ****'brcn' (???)
- ****'bugy' (32-bit System Enabler [1.0])
- (Hardware System Update ext [1.0])
- gestaltEnablerAttr?
-
- gestaltEnablerAttr = 'bugy'; ?
- gestaltEnablerEgretDispatchPatch = 0; {these correct the system}?
- gestaltEnablerEgretTimePatch = 1; { clock and improve high-}?
- gestaltEnablerEgretTickHandlerPatch = 3; { speed modem performance}?
- gestaltEnablerSCSIPatch = 5; {floppy drive fixed}?
- gestaltEnabler32bit = 7; {32-bit enabler present}?
- gestalt??? = 9; {set on PowerPC prototype}
- WARNING: These are ALL guesses. Well not entirely, I used the
- ResEdit CODE Editor to peek into the 32-bit System Enabler and
- the Hardware System update. Please check if I'am right. You should
- be able to find answers in the INIT resource of the Hardware Update
- and the names of the PTCH resources are also usefull...
- The System Enablers (for new Macintosh models) don't seem to
- install or change any Gestalt selector to indicate their presence.
- ****'bugz' (System (Tuna Helper INIT rsrc) [7.0]/Tune-up ext)
- ****'cfmg' (System [7.1 on PowerPC prototype])
- ****'cput' (System [7.1 on PowerPC prototype])
- ****'gntz' (System [7.1 on PowerPC prototype])
- ****'scsi' (System [7.1 on PowerPC prototype])
- ****'shal' (System [7.1 on PowerPC prototype])
- ****'snhw' (System [7.1 on PowerPC prototype])
- ****'sysa' (System [7.1 on PowerPC prototype])
- ****'udsk' (System [7.1 on PowerPC prototype])
- ****'udsv' (System [7.1 on PowerPC prototype])
- ****'dude' (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 201 [1.0])
- ****'dudi' (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 201 [1.0])
- ****'fdrs' (Finder 7.1.1b1?, part of AOCE Developer's Kit
- ****'fnd ' (Finder 7.1.1b1?, part of AOCE Developer's Kit)
- ****'fnd?' (Finder 7.1.1b1?, part of AOCE Developer's Kit)
- ****'fnda' (Finder 7.1.1b1?, part of AOCE Developer's Kit)
- NOTE: The a is actually the option-a character (ASCII 140).
- ****'FNDR' (Finder 7.1.1b1?, part of AOCE Developer's Kit)
- ****'fnd*' (Finder 7.1.1b1?, part of AOCE Developer's Kit)
- NOTE: The * is actually the shift-6 character (ASCII 246).
- ****'hcsl' (Finder 7.1.1b1?, part of AOCE Developer's Kit)
- ****'icon' (System? [???])
- Icon Utilities Attr?
- ****'idsp' (???)
- ****'intd' (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 201 [1.0])
- ****'nubs' (System [6.0.4, 6.0.5, 6.0.7, discontinued])
- gestaltNuBusCount?
- Returns count of NuBus slots?
- ****'pmgr' (System [???, QuickDraw GX installed])
- ****'port' (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 201 [1.0])
- ****'rbv ' (System [6.0.4, discontinued])
- ****'Remt' (Auto Remount cp [???])
- ****'slot' (System [6.0.4, 6.0.5, discontinued])
- ****'slt1' (System [6.0.4, 6.0.5, discontinued])
- Returns first slot#?
- ****'vmcl' (System, VM on [7.0])
- ****OSType(7) (System [6.0.4])
- Returns LongInt('carl') and a result code of noErr.
- ****OSType(13) (System [6.0.4])
- Returns LongInt('bbmc') and a result code of noErr.
-
- ====Apple Additional Software
- ****'3615' (Express Modem cp [1.0], part of Express Modem Software)
- ****'futr' (ThreadsINIT ext [2.0?], part of Threads Package)
- ****'gFax' (Fax Extension ext [1.1?], part of Express Modem Software)
- ****'kids' (At Ease [1.0])
- ****'kpcd' (Apple Photo Access ext [1.0], part of Apple CD-ROM Software)
- gestaltApplePhotoAccess???
- Response unknown ($fffffff7).
-
- gestaltApplePhotoAccess??? = 'kpcd';
- ****'mash' (System [7.1P?]/At Ease [1.0?])
- ****'mfdr' (At Ease [1.0])
- ****'slnk' (MNPLinkTool? [1.0], part of AppleTalk Remote Access)
- ****'sndx' (Sound Manager ext [3.0])
- gestaltSoundMgrAttr?
-
- gestaltSoundMgrAttr = 'sndx'?;
- gestaltSoundMgrPresent = 0?
- ****'snhw' (Sound Manager ext [3.0])
- gestaltSoundHardware?
-
- gestaltSoundHardware = 'snhw'?;
- NOTE: One report mentions a response value of $61736320
- which is LongInt('asc ') -> Apple Sound Chip?
- The PowerPC prototype returns $61776163 which is
- LongInt('awac').
- ****'thng' (ThreadsINIT ext [2.0?], part of Threads Package)
- ****'thrd' (ThreadsINIT ext [2.0?], part of Threads Package)
-
- ====Third Parties Software
- Especially the Third Party selectors may change with every new
- release and are therefore only listed in the 'known selectors'
- part when the author has described the structure in the
- documentation or by email to me.
- ****'AClk' (AutoClock Extension ext [1.3?] by Jean-Pierre Gachen)
- ****'ADex' (AfterDark [2.0?] by Berkeley Systems, Inc.)
- NOTE: Not installed by AfterDark but the GDEF indicates it is
- able to return a response.
- ****'ADfd' (AfterDark [2.0?] by Berkeley Systems, Inc.)
- NOTE: Not installed by AfterDark but the GDEF indicates it is
- able to return a response.
- ****'ADii' (AfterDark? [2.0?] by Berkeley Systems, Inc.)
- NOTE: Not installed by AfterDark but the GDEF indicates it is
- able to return a response.
- ****'ADr2' (AfterDark? [2.0?] by Berkeley Systems, Inc.)
- NOTE: Not installed by AfterDark but the GDEF indicates it is
- able to return a response.
- ****'ADRC' (DDExpand appl [3.7.7?] by Fifth Generation Systems)
- ****'ADrk' (AfterDark [2.0?] by Berkeley Systems, Inc.)
- ****'AP17' (???)
- ****'aYmm' (AfterDark [2.0?] by Berkeley Systems, Inc.)
- ****'AzNe' (NameView cp by AStar Technologies, Inc.)
- ****'ATr' (Trapper ext [1.0?] by Alessandro Levi Montalcini)
- ****'CHSR' (ChooserUser [1.2?] by Maurice Volaski)
- ****'DDAD' (AutoDoubler cp [1.0?] by Fifth Generation Systems, Inc.)
- ****'DD37' (DiskDoubler [3.7] by Fifth Generation Systems, Inc.)
- ****'DWG!' (Volume Menu cp [1.0] by David Gladstone, Chris Burns,
- Julian Harris)
- ****'ESCa' (Escapade cp [1.0?] by Christopher R. Wysocki)
- ****'ESOC' (Serial of Champions ext [?] by Mike Throckmorton)
- ****'Fie ' (Icon7 ext by Inline Designs)
- gestaltIcon7???
- ****'fmci' (FinderMenu INIT ext [1.0], part of UserLand's Frontier
- Runtime package)
- ****'fPth' (FinderPaths)
- NOTE: The f is actually the option-f character (ASCII 196).
- ****'GtOp' (???)
- ****'gV00', 'gV01', 'gV02', 'gV03', 'gV04' (PowerPort cp???)
- ****'He20' (Helium cp by Robert L. Mathews)
- ****'HPBG' (HP Background ext [3.0?] by Hewlett-Packard Company)
- GDEF always returns value 1.
- ****'HtLk' (Reference Link ext [1.0] by James W. Walker)
- ****'iHnd' (Invisible Hand cp [1.0] by Carl Mauer)
- NOTE: Because this cp patches the _Random trap you can use this
- selector to determine it's presence and refuse to continue.
- ****'Intj' (Interjection ext)
- ****'JAiN' (Rival cp by Inline Designs)
- gestaltRival
- NOTE: The i is actually the option-u/i character (ASCII 149).
- ****'jsm1' (???)
- ****'JXNM' (NowMenus ??? [4.0?] by ???)
- ****'KBCF' (Easy KEYS cp [1.5] by Kerry Clendinning)
- ****'KBCM' (???)
- ****'LFnt' (Dialog View cp, formerly List Font cp by James W. Walker)
- ****'MClk' (SuperClock! [4.0] by Steve Christensen)
- ****'MJC&' (AutoMenus II cp by Michael Conrad)
- ****'MV10' (TearOFF cp by Bad Boys' Software)
- ****'NGst' (NokNok cp [1.0?])
- ****'NkNk' (NokNok cp [1.0?])
- ****'PBUf' (???)
- ****'PBUt' (???)
- ****'PRT+' (PrintAid [0.9?] by James W. Walker)
- ****'QRef' (QuickRef ext? [1.0] by Scott Bronson)
- ****'RQDC' (DropCheck cp by Ronald B. Queloz)
- ****'SAVC' (AfterDark [2.0?] by Berkeley Systems, Inc.)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- ****'SAVR' (AfterDark [2.0?] by Berkeley Systems, Inc.)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- Returns zero (1) if screensaver is inactive, other values observed
- are $0x0017 and $0x001B.
- ****'SFun' (SF Windows [1.0] by Damon Cokenias)
- ****'SFwd' (Open-wide cp [3.0?] by James W. Walker)
- ****'SLi2' (StuffIt SpaceSaver ext by Aladdin Systems, Inc. ?)
- ****'Tmon' (TMON Pro cp? [3.0] by ICOM Simulations)
- ****'View' (StuffIt Viewer Engine by Aladdin Systems Inc.)
- gestaltViewerEngine
- ****'XTND' (not installed by any software)
- NOTE: Is used in some code to check if XTND engine is present.
- However it is never installed, so supposedly it is meant for
- future use. Like a built-in XTND engine in the System
- Software? When the selector is installed all operations are
- dispatched through trap $ABF4 otherwise the library provides
- the code. (Marco Piovanelli)
- ****'YeHa' (SpeedyFinder7 cp by Victor Tan)
- The structure to which the _Gestalt selector refers changes almost
- invariably from version to version of SF7. Should someone work out
- parts of the structure of the selector keep in mind that it will
- almost certainly change in the next minor release and definitely
- with the next major release. (Victor Tan)
- ****'WREO' (Replace Existing Options cp by Jonathon Summers)
- NOTE: The W is actually the option-w character (ASCII 183).
- ****'Wttf' (TeachText7.0 Font ext by Jonathon Summers)
- NOTE: The W is actually the option-w character (ASCII 183).
- ****'*Men' (OtherMenu ext [1.0b16?] by James W. Walker)
-
-
- ####Gestalt Manager Routines
- Please note the GestaltValue routines are currently invoked
- through a library, and only in the future will GestaltValue be
- moved into the OS proper.
- The GestaltValue functions are stack based and don't use
- registers. The GestaltValue library first checks to see if trap
- $ABF1 is implemented (not with any system software available). If
- trap $ABF1 is implemented, all calls to the library are routed to
- this trap, otherwise the library uses embedded code.
- WARNING: The GestaltValue library distributed originally checks
- for the wrong trap (_ThreadDispatch, $ABF2). Make sure your
- software doesn't crash when this trap is installed by the Thread
- Manager Extension. See Related Software chapter for availability.
- (Most info about the GestaltValue functions was provided by
- Marco Piovanelli and Dave Radcliff).
- ****FUNCTION Gestalt (selector: OSType; VAR Response: LongInt): OSErr;
- Trap Macro
- _Gestalt ($A1AD)
- Registers on entry D0: selector code
- Registers on exit A0: response
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUnknownErr -5550 Could not obtain the response
- gestaltUndefSelectorErr -5551 Undefined selector
- ****FUNCTION NewGestalt (selector: OSType;
- selectorfunction: ProcPtr): OSErr
- Trap Macro
- _NewGestalt ($A3AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit D0: result code
- Result codes
- noErr 0 No error
- memFullErr -108 Ran out of memory
- gestaltDupSelectorErr -5552 Selector already exists
- gestaltLocationErr -5553 Function not in system heap
- ****FUNCTION ReplaceGestalt (selector: OSType;
- selectorfunction: ProcTr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- Trap Macro
- _ReplaceGestalt ($A5AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit A0: address of old selector function
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUndefSelectorErr -5551 Undefined selector
- gestaltLocationErr -5553 Function not in system heap
- ****FUNCTION NewGestaltValue (selector: OSType;
- newValue: LongInt): OSErr;
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0401
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltDupSelectorErr -5552 Selector already exists
- ****FUNCTION ReplaceGestaltValue (selector: OSType;
- replacementValue: LongInt): OSErr;
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0402
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltUndefSelectorErr -5551 Undefined selector
- ****FUNCTION DeleteGestaltValue (selector: OSType): OSErr;
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0203
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- gestaltUndefSelectorErr -5551 Undefined selector
-
-
- ####Abbreviations
- ADB - Apple Desktop Bus
- AS - AppleShare
- ASC - Apple Sound Chip
- CPU - Central Processing Unit
- DAFB - ???
- DMA - Direct Memory Access
- DN - Developer Note
- DSP - Digital Signal Processor
- FPU - Floating Point Unit
- GDEF - Gestalt DEFinition (code resource)
- IM - Inside Macintosh (old volumes I-VI)
- IOP - Input/Output Processor
- IWM - Integrated Woz Machine
- MMU - Memory Management Unit
- NIM - New Inside Macintosh
- OCE - Open Colloboration Environment
- OSS - ???
- PDS - Processor Direct Slot
- PGC - ???
- PMMU - Paged Memory Management Unit
- PPC - Process-to-Process Communication
- PWM - ???
- RBV - RAM-Based Video
- SCC - Serial Communications Controller
- SCSI - Small Computer System Interface
- SIMM - Single In-line Memory Module
- Sonic - Ethernet Driver name
- SRAM - Static RAM
- SWIM - Super Integrated Woz Machine
- TN - Technical Note
- VIA - Versatile Interface Adapter
- VRAM - Video RAM
- VM - Virtual Memory
-
- appl - application
- cp - control panel
- ext - extension
- FA - File Access
- RA - Remote Access
-
-
- ####Format version numbers
- ====4-byte word
- The format of the LONGINT result is as follows:
- (based on posting by Ivan M. Cavero Belaunde)
-
- MMmbSSss (e.g. 01524050)
-
- Where:
- MM is major revision release in BCD 1
- m is minor revision release in BCD 5
- b is bug fix release in BCD 2
- SS is development stage b
- (dev=10,alpha=20,beta=40,release=80)
- ss is dev. stage # in BCD 50
- ------- +
- 1.5.2b50 :-)
-
- The 'atkv' selector returns the major revision release as
- hexadecimal.
- ====BCD (Binary Coded Decimal)
- 0x0402 means 4.0.2 (MMmb, see above)
- ====INTEGER
- The decimal representation of the returned value is the version.
-
-
- ####AppleShare File & Print Server selector codes
- The selectors are defined when the application has run.
- If it is still running (or wasn't properly quit) the response is
- one. When the application has properly quit the response is zero.
- 'admn' AppleShare Admin
- 'asps' AppleShare Print Server
- 'hgfd' AppleShare File Server
-
-
- ####Glue code
- The following programming software includes glue-code to return
- some responses even if the Gestalt Manager is not available. Every
- entry includes the selectors of which the Glue-code can return a
- response.
-
- ****Symantec THINK Pascal [at least since 4.0]:
- atlk, fpu , kbd , kbd , lram, mach, mmu , qd , ram , sysv, vers
-
-
- ####Sources
- *1 Apple Inc.; TN M.OV.GestaltSysenvirons,
- May 1987, rev. Sep. 1992
- *2 Symantec Corp.; THINK Pascal 4.0.1
- *3 Carl C.Hewitt; Gestalt DA 0.4 1990
- *4 Apple Computer Inc.; TN M.NW.AppleTalk2, Feb.1992, rev. Sep.1992
- *5 Apple Computer Inc.; MacTCP 1.1 Programmer's Guide.
- *6 Apple Computer Inc.; QuickTime ImageCompression source files
- *7 Symantec Corp.; Think C GestaltGlue source files
- *8 Eric Simenel, Apple Computer France; Gestalt dcmd 1.0
- *9 Apple Computer Inc.; AppleTalk Remote Access API External
- Reference Specification
- *10 Symantec Corp.; THINK Reference 1.0
- *11 Apple Computer Inc.; CommToolbox 1.1 source files
- *12 Apple Computer Inc.; Macintosh Easy Open programmer's docs
- *13 Apple Computer Japan, Inc.; sysvINIT source files
- *14 ICOM Simulations; TMON Professional Reference Manual (p.192)
- *15 Apple Computer Inc.; Thread Manager 1.1 documentation
-
-
- ####Related Software
- Listed below are software which may be of interest to developers
- because they are a tool providing information from the Gestalt
- Manager, include Gestalt-related source code or provide
- additional capability to call the Gestalt Manager.
- All software available on sumex-aim.stanford.edu is also available
- on the INFO-MAC CD-ROM by Pacific HiTech, Inc. The FTP-sites
- mentioned may have one or more mirror sites as well.
- ****5thColumn, GestaltProbe (by Kamran Golriz)
- Extension with MPW Tools to query other mac on a network, one of
- the tools is GestaltProbe.
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Tools & Apps:Network & Communications:5th Column:
- ****AEgestalt (by Kent Sandvik)
- Uses Apple Events to get Gestalt response from remote machine,
- includes C-source. (Requires color?? Doesn't run on MacPlus)
- FTP: ftp.apple.com (130.43.2.3)
- /dts/mac/sc/snippets/platforms.tools/aegestalt-1-0.hqx
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Technical Documentation:Sample Code:Snippets:
- Platforms & Tools:AEGestalt 1.0:
- ****DisplayGestalt (by Craig Marciniak)
- Small application displays configuration using Gestalt Mgr,
- includes C-source.
- FTP: mac.archive.umich.edu (141.211.165.34)
- /development/libraries/displaygestalt.cpt.hqx
- ****Feature Teller 1.0 (by Jennifer Minge)
- Sample application quering Gestalt Mgr (or SysEnvirons if not
- available. Includes THINK Pascal source.
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Tools & Apps:OS/Toolbox:Feature Teller 1.0:
- ****Gestalt! 2.9.4 (by Roland Mansson)
- Displays responses from installed selectors.
- FTP: ftp.lu.se (130.235.132.89)
- /pub/mac/util/Gestalt!_294.cpt.hqx
- sumex-aim.stanford.edu (36.44.0.6)
- /info-mac/util/gestalt-28.hqx
- ****GestaltDA 0.4 (by Carl C. Hewitt)
- Displays responses from installed selectors.
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Tools & Apps:OS/Toolbox:GestaltDA 0.4
- ****Gestalt DCMD
- This dcmd (debugger command for MacsBug) allows you to "use"
- Gestalt when you're in MacsBug.
- FTP: ftp.apple.com (130.43.2.3)
- /dts/mac/sc/snippets/platforms.tools/gestalt-dcmd.hqx
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Technical Documentation:Sample Code:Snippets:
- Platforms & Tools:Gestalt dcmd:
- ****GestaltExt (by Andre Cavegn)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
- FTP: sumex-aim.stanford.edu (36.44.0.6)
- /info-mac/dev/a4d/gestalt-ext.hqx
- ****GestaltGlue
- Glue code and interface in C and assembly.
- FTP: ics.uci.edu (128.195.1.1)
- /mac/think-c/symantec/pre-5.0stuff/gestalt.hqx
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Technical Documentation:Sample Code:System 7.0 samples:
- DTS.Utilities:Gestalt*
- ****GestaltTalk (by Brigham Stevens, Apple Computer DTS)
- Code part of Notification Hacks to show how you can communicate
- between an application and an INIT using the Gestalt Mgr.
- Includes C source files.
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Technical Documentation:Sample Code:Snippets:
- Toolbox:Notification Hacks:GestaltTalk:
- ****GestaltValue (anonymous, Apple Computer Inc.)
- Library and interface for use of the GestaltValue functions.
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Tools & Apps:OS/Toolbox:GestaltValue:
- email: Dave Radcliff, Mac DTS
- radcliff@apple.com
- ****GestaltWatch ext 1.0a1 (by Scott Bronson)
- Tracks all calls to NewGestalt and ReplaceGestalt traps.
- Not available yet.
- ****Gestalt XFCN 3.2.1 (by Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
- FTP: sumex-aim.stanford.edu (36.44.0.6)
- /info-mac/card/xcmd/gestalt-321.hqx
- ****Gestaltzeigen appl 1.0 (by B. Kevin Hardman)
- Displays responses from installed selectors and any bit interpretation.
- Not available yet.
- ****Technical Notes 'M.OV.GestaltSysenvirons' and 'M.NW.AppleTalk2'
- M.OV.GestaltSysenvirons discusses Gestalt and SysEnvirons
- M.NW.AppleTalk2 discusses AppleTalk
- FTP: ftp.apple.com (130.43.2.3)
- /dts/mac/tn/overview/gestalt-and-system-environs.hqx
- /dts/mac/tn/networking/appletalk2.hqx
- CD-ROM: Develop CD Series (Apple Developer Group)
- :Technical Documentation:
- Mac Tech Notes (Text):Overview:Gestalt & SysEnvirons
- Mac Tech Notes (DocViewer):Overview:Gestalt & SysEnvirons
- :Technical Documentation:
- Mac Tech Notes (Text):Networking:AppleTalk2
- Mac Tech Notes (DocViewer):Networking:AppleTalk2
- ****Test Gestalt
- Examples to test for QuickDraw version and Virtual Memory status,
- includes C-source.
- FTP: ftp.apple.com (130.43.2.3)
- /dts/mac/sc/snippets/toolbox/testgestalt.hqx
- CD-ROM: Developer CD Series (Apple Developer Group)
- :Technical Documentation:Sample Code:Snippets:
- Toolbox:TestGestalt:
-
-
- ####Acknowledgements
- I want to thank the following persons for their contribution
- to this list:
-
- Anonymous contributor(s) <anonymous@secret.cia>
- Lonnie R. Abelbeck <abelbeck@dev.abelbeck.com>
- Ivan M Cavero Belaunde <ivanski@world.std.com>
- Jim Browne <jbrowne@ncsa.uiuc.edu>
- Scott Bronson <urge@mcl.mcl.ucsb.edu>
- Lawrence D'Oliveiro <ldo@waikato.ac.nz>
- C.K. Haun <haun@apple.com>
- Michael Hecht <Michael_Hecht@mac.sas.com>
- Robert Hess <robert_hess@macweek.ziff.com>
- Mark B. Johnson <mjohnson@apple.com>
- David B. Lamkins <dblamkins@aol.com>
- Roland Mansson <roland.mansson@ldc.lu.se>
- Duane Murphy, Novell Inc. <damurphy@wc.novell.com>
- Marco Piovanelli <piovanel@ghost.dsi.unimi.it>
- Quinn <quinn@cs.uwa.edu.au>
- Dave Radcliff, Apple Computer Inc. Mac DTS <radcliff@apple.com>
- Pete Resnick <resnick@cogsci.uiuc.edu>
- Leonard Rosenthol <leonardr@netcom.com>
- Jeremy Roussak <jeremyr@dcs.qmw.ac.uk>
- Victor Tan <victort@extro.ucc.su.oz.au>
- John Watte <d88-jwa@nada.kth.se>
- Chris Wysocki <wysocki@netcom.com>
-
- and the Computer Department at the Biology Faculty of the
- Free University in Amsterdam, The Netherlands for their help and
- support. Also special thanks to Marco Piovanelli for his support
- and comments about preliminary versions and updates.
-
- The persons mentioned above provided information used in this list.
- They did this on personal title, NOT on behalf of their employer,
- unless explicitly listed otherwise.
- I assume information you mail to me about Gestalt selectors may
- be used in this list. Information made available to the general
- public (e.g. a posting to a USENET newsgroup) is also included and
- the persons name added to this chapter (and to the mailing list).
- I will mail you back to thank you and include the parts from the
- list which were changed, according the information you provided,
- to let you check them.
-
-
- ####Legal Stuff
- ****Notice of Liability
- The information in this list is distributed on an "AS IS" basis,
- without warranty. While every precaution has been taken in the
- preparation of this list, neither the editor nor any
- contributor shall have any liability to any person or entity with
- respect to any liability, loss, or damage caused or alleged to be
- caused directly or indirectly by the information contained in this
- list or by the computer software and hardware products described
- herein.
- ****Trademarks
- Throughout this list trademarked names are used. Rather than put a
- trademark symbol in every occurrence of a trademarked name, I
- state I am using the names only in an editorial fashion and to the
- benefit of the trademark owner with no intention of infringement
- of the trademark.
- ****Distribution
- The information in this list may be used freely for NON-COMMERCIAL
- purposes only. When you DO USE the information in this list for
- COMMERCIAL purposes, you may consider sending the editor a donation.
- You are not allowrd to distribute this list outside Internet
- (especially printed, on disk or CD-ROM) unless you have contacted
- the editor and received permission to do so.
- Permission for distribution is granted to Pacific HiTech, Inc. for
- publication on the Info-Mac CD-ROM.
- You are not allowed to distribute modified versions of this list,
- including, but not limited to, deleting, adding or moving text or
- adding non-text parts. Distribution in any electronical format
- except a normal text file is not allowed without permission.
- You are not allowed to redistribute it with any other name than
- 'gestalt-selectors-XX.txt' (where XX is the version number) unless
- because of technical reasons.
-
-
- ####Editor's Address
- Rene G.A. Ros (student Computer Science)
- Del Court van Krimpenstraat 3
- 1067 SG Amsterdam - Geuzenveld
- The Netherlands, Europe
- Bank : Postbank 4578223
-
- Phone# : +31 20 611 92 74 / +31 20 611 87 00
- Fax# : +31 20 611 60 06
- Internet : rgaros@bio.vu.nl (preferred)
- rgaros@nikhefk.nikhef.nl
- rener@htsa.aha.nl
- CompuServe: >INTERNET: rgaros@bio.vu.nl
- 100112,1363
-
-